package principal;

import java.awt.Image;

public class Robot {
	protected int x; //fila
	protected int y; //columna
	protected String direccion; //direccion a la que esta mirando el robot, "arriba"/"abajo"/"izquierda"/"derecha"
	protected Image sprite;
	protected Mapa m;
	
	public Robot(int x, int y, Mapa m) {
		this.m = m;
		this.x = x;
		this.y = y;
		this.direccion = "derecha"; //arranca mirando pa' la derecha
		sprite = CargardorSprites.cargarSprite("robot_derecha");
	}
	
	
	public int getX() {
		return this.x;
	}
	
	
	public int getY() {
		return this.y;
	}
	
	public String getDireccion() {
		return this.direccion;
	}
	
	public Image getSprite() {
		return this.sprite;
	}
	
	public void mover(String dir) {
		if(!dir.equals(this.direccion)) rotar(dir);
		else {
			if((this.direccion.equals("derecha")) && (this.y<Mapa.MAX_columnas-1) && (!m.hayObstaculo(this.x, this.y+1))) y = y+1;
			if((this.direccion.equals("izquierda")) && (this.y>0) && (!m.hayObstaculo(this.x, this.y-1))) y = y-1;
			if((this.direccion.equals("abajo")) && (this.x<Mapa.MAX_filas-1) && (!m.hayObstaculo(this.x+1, this.y))) x = x+1;
			if((this.direccion.equals("arriba")) && (this.x>0) && (!m.hayObstaculo(this.x-1, this.y))) x = x-1;
		}
	}
	
	public void rotar(String direccion) {
		this.direccion = direccion;
		String aux = "robot_";
		aux = aux.concat(this.direccion);
		this.sprite = CargardorSprites.cargarSprite(aux);
	}


}
